<?php
include_once('controller/C_Base.php');
/** 
 *  @author VGireev 
 *	@REVISION:  $Id: C_Reg.php 11 2011-12-18 12:52:37Z host.xserver@gmail.com $
 *  @brief Файл класса C_Reg
 *  © myCompany 2011
 *
 *  контроллер регистрации пользователей
 *  
 */

class C_Reg extends C_Base
{
	private $login;	// логин пользователя
	private $password; //пароль пользователя
	private $user_name; // имя пользователя
	private $status;//сообщение вывода статуса записи
	private $status_zap;//статус записи
/* ===================================================================== */		
	// конструктор.
	public function __construct() 
	{
		parent::__construct();			
		$this->login = '';
		$this->password = '';
		$this->user_name = '';
		$this->status = '';
		$this->status_zap = true;

	}
/* ===================================================================== */		
    // виртуальный обработчик запроса.
    protected function OnInput() 
    {
		// выход из системы пользователя.
        $mUsers = M_Users::Instance();        
        $mUsers->Logout();
		// C_Base.
        parent::OnInput();
		// обработка отправки формы.
        if ($this->IsPost()) {
	        $this->login = $_POST['login']; //получаем логин
			$this->password = $_POST['password']; //получаем пароль
			$this->user_name = $_POST['user_name'];//получаем имя пользователя
			if (isset($this->login) && isset($this->password) && isset($this->user_name)) {
				$mUsers->Reg_user_add($this->login, $this->password, $this->user_name) ? 
						$this->status = 'Поздравляю с регистрацией' :
							$this->status = 'Повторите регистрацию через 5 минут';
				$this->status_zap = false;
			};
        };
	}
/* ===================================================================== */		
    // виртуальный генератор HTML.
    protected function OnOutput() 
    {    
		$mUsers = M_Users::Instance();
		// Шаблон меню
		//выборка либо меню для юзера либо меню админа
		if ($mUsers->Can('USE_SECRET_FUNCTIONS')) {
			$vars_menu = array('items' => C_Base::GetMenuItems(true));
		}
		else {
			$vars_menu = array('items' => C_Base::GetMenuItems(false));
		};
	
    	$this->menu = $this->View('/view/tpl_menu.php', $vars_menu);
		// генерация содержимого формы входа.
		// либо выводим форму регистрации или
		// результат регистрации
        if ($this->status_zap) {
			$this->content = $this->View('/view/tpl_reg.php');
		}
		else {
			$this->content = $this->status;
		};
		// C_Base.
        parent::OnOutput();
    }
/* ===================================================================== */		
}